pub fn new_birthday_probability(n: u32) -> f64 {
    // TODO: 这里写逻辑
    if n > 365 {
        return 1.0; // 如果人数超过365，必然有人生日相同
    }

    let mut prob_no_match = 1.0;

    // 计算没有生日重合的概率
    for i in 0..n {
        prob_no_match *= (365 - i) as f64 / 365.0;
    }

    // 计算至少两个人生日相同的概率
    let prob_at_least_one_match = 1.0 - prob_no_match;

    // 返回结果，保留四位小数
    (prob_at_least_one_match * 10000.0).round() / 10000.0
}
